================================================================================ G-WAN App. Server v17.10.06 with "memory-safe" (SLIMalloc) C servlets -------------------------------------------------------------------------------- - host OS : Ubuntu 24.04.4 LTS (Desktop) - backlog : 4,096 - ports range : 1,025-65,535 (allowed:64,510 on 65,535) - max sockets : 1,048,576 (soft:1,024 hard:1,048,576) - CPU model : 13th Gen Intel(R) Core(TM) i9-13900K - CPU cores : 32 online (as setup by BIOS/OS/VM) - CPU freq (GHz) : seen[0.799-5.500] capable[0.8-5.8] - CPU power : performance, performance - listening on : http://127.0.0.1:8080 - hosts to serve : hosts:1, alias:0, errors:0 (745 files, 171.6 MB) ================================================================================ prlimit --pid=$$ --nofile=1048576 sudo prlimit --pid=$$ --nproc=1048576 sudo ufw disable ================================================================================ wrk3 tests summary: -------------------------------------------------------------------------------- G-WAN RPS NGINX RPS G-WAN is N times faster ----- ------------------- ------------------ ----------------------- users 10s 30s 3m 30m 10s 30s 3m 30m (all 4 tests combined) ----- ------------------- ------------------ ----------------------- 1 151k 142k 152k 141k 104k 103k 103k 104k 586 / 141 = 1.42 10 977k 996k 945k 927k 623k 616k 608k 601k 3845 / 2448 = 1.57 1k 2.0m 1.9m 1.8m 1.8m 1.0m 963k 964k 956k 7.6m / 3.9m = 1.93 10k 3.4m 1.8m 896k 729k 789k 729k 696k 716k 6.8m / 2930 = 2,334.73 20k 5.6m 3.7m 1.0m 713k 755k 724k 671k 682k 11.1m / 2832 = 3,948.96 30k 9.0m 4.2m 1.1m 723k Terminated (OOM) 15.1m / 0 = infinite 40k 15.0m 5.8m 2.1m 723k Terminated (OOM) 23.6m / 0 = infinite NOTES: G-WAN is [1.42 to 3,948] times faster than NGINX with [1-20k] users. G-WAN keeps going while NGINX has to stop, due to a lack of memory (the wrk family architecture consumes 190 GB RAM at 30-40k users). G-WAN on 30 minutes is >= NGINX on 10 seconds - on all concurrencies. G-WAN runs marathons faster than NGINX 100m sprints with [1-20k users]. So G-WAN is faster than NGINX at short, middle and long test runs, beating the market leader (with the wrk NGINX benchmark) for the 100m sprint, 5000m, half-marathon, and marathon competitions. ================================================================================ Tests comment: -------------------------------------------------------------------------------- The "Req/Sec" latencies are nul due to the fact that wrk3 has disabled the wrk2 thread calibration... that was taking 99.99% of the benchmark duration - with the result of artificially boosting wrk2 scores by making bogus calculations, see: http://gwan.com/blog/20260414.html The HTTP request "Latency" measured by wrk2 and wrk3 are the ones of the client and not the ones of the server, if the benchmark tool is slower than the tested server. This is due to the architecture of the wrk tools family, where "ready" connections are waiting for their turn, queued in an event-loop. ================================================================================ G-WAN starting memory footprint: 1.7 MB (with www storing 745 files, 171 MB) -------------------------------------------------------------------------------- ./gwan -p - running 'gwan[*]' process(es) (use 'sudo ./gwan -p' if pathnames are missing): PID PPID THRDS %CPU VIRT RSS SHRD EXE 338766 4565 2 0.0 25.0 MB 1.7 MB 0.0 KB /home/gwan/gwan :8080 ================================================================================ G-WAN ending memory footprint: 700 MB (with www storing 745 files, 171 MB) -------------------------------------------------------------------------------- ./gwan -p - running 'gwan[*]' process(es) (use 'sudo ./gwan -p' if pathnames are missing): PID PPID THRDS %CPU VIRT RSS SHRD EXE 338766 4565 40001 376.8 3.8 GB 700.1 MB 0.0 KB /home/gwan/gwan :8080 ================================================================================ ./wrk3 -t1 -c1 -R1m "http://127.0.0.1:8080/100.html" -------------------------------------------------------------------------------- ./wrk3 -d10s -t1 -c1 -R10m "http://127.0.0.1:8080/100.html" Created 1 event-loop(s) in 0.000 seconds Created 1 thread(s) in 0.000 seconds Running 10s test @ http://127.0.0.1:8080/100.html 1 threads and 1 connections Thread Stats Avg Stdev Max +/- Stdev Latency 4.93s 2.84s 9.85s 0.03% Req/Sec -nan -nan 0.00 0.00% 1,515,069 requests in 10.00s, 478.26MB read Requests/sec: 151,506.88 Transfer/sec: 47.83MB -------------------------------------------------------------------------------- ./wrk3 -d30s -t1 -c1 -R1m "http://127.0.0.1:8080/100.html" Created 1 event-loop(s) in 0.000 seconds Created 1 thread(s) in 0.000 seconds Running 30s test @ http://127.0.0.1:8080/100.html 1 threads and 1 connections Thread Stats Avg Stdev Max +/- Stdev Latency 12.85s 7.40s 25.74s 0.05% Req/Sec -nan -nan 0.00 0.00% 4,272,858 requests in 30.00s, 1.32GB read Requests/sec: 142,428.59 Transfer/sec: 44.96MB -------------------------------------------------------------------------------- ./wrk3 -d3m -t1 -c1 -R1m "http://127.0.0.1:8080/100.html" Created 1 event-loop(s) in 0.000 seconds Created 1 thread(s) in 0.000 seconds Running 3m test @ http://127.0.0.1:8080/100.html 1 threads and 1 connections Thread Stats Avg Stdev Max +/- Stdev Latency 1.27m 44.04s 2.54m 0.03% Req/Sec -nan -nan 0.00 0.00% 27,442,451 requests in 3.00m, 8.46GB read Requests/sec: 152,458.06 Transfer/sec: 48.13MB -------------------------------------------------------------------------------- ./wrk3 -d30m -t1 -c1 -R1m "http://127.0.0.1:8080/100.html" Created 1 event-loop(s) in 0.000 seconds Created 1 thread(s) in 0.000 seconds Running 30m test @ http://127.0.0.1:8080/100.html 1 threads and 1 connections Thread Stats Avg Stdev Max +/- Stdev Latency 12.86m 7.43m 25.76m 0.05% Req/Sec -nan -nan 0.00 0.00% 255,216,954 requests in 30.00m, 78.68GB read Requests/sec: 141,787.20 Transfer/sec: 44.76MB ================================================================================ ./wrk3 -t10 -c10 -R10m "http://127.0.0.1:8080/100.html" -------------------------------------------------------------------------------- ./wrk3 -d10s -t10 -c10 -R10m "http://127.0.0.1:8080/100.html" Created 10 event-loop(s) in 0.000 seconds Created 10 thread(s) in 0.000 seconds Running 10s test @ http://127.0.0.1:8080/100.html 10 threads and 10 connections Thread Stats Avg Stdev Max +/- Stdev Latency 4.51s 2.59s 9.22s 0.03% Req/Sec -nan -nan 0.00 0.00% 9,775,036 requests in 10.00s, 3.01GB read Requests/sec: 977,503.25 Transfer/sec: 308.56MB -------------------------------------------------------------------------------- ./wrk3 -d30s -t10 -c10 -R10m "http://127.0.0.1:8080/100.html" Created 10 event-loop(s) in 0.000 seconds Created 10 thread(s) in 0.000 seconds Running 30s test @ http://127.0.0.1:8080/100.html 10 threads and 10 connections Thread Stats Avg Stdev Max +/- Stdev Latency 13.36s 7.86s 27.53s 0.04% Req/Sec -nan -nan 0.00 0.00% 28,864,072 requests in 30.00s, 8.90GB read Requests/sec: 962,135.62 Transfer/sec: 303.71MB -------------------------------------------------------------------------------- ./wrk3 -d3m -t10 -c10 -R10m "http://127.0.0.1:8080/100.html" Created 10 event-loop(s) in 0.001 seconds Created 10 thread(s) in 0.001 seconds Running 3m test @ http://127.0.0.1:8080/100.html 10 threads and 10 connections Thread Stats Avg Stdev Max +/- Stdev Latency 1.34m 46.98s 2.77m 0.03% Req/Sec -nan -nan 0.00 0.00% 170,160,203 requests in 3.00m, 52.45GB read Requests/sec: 945,334.44 Transfer/sec: 298.41MB -------------------------------------------------------------------------------- ./wrk3 -d30m -t10 -c10 -R10m "http://127.0.0.1:8080/100.html" Created 10 event-loop(s) in 0.000 seconds Created 10 thread(s) in 0.000 seconds Running 30m test @ http://127.0.0.1:8080/100.html 10 threads and 10 connections Thread Stats Avg Stdev Max +/- Stdev Latency 13.56m 7.85m 27.72m 0.05% Req/Sec -nan -nan 0.00 0.00% 1,669,452,383 requests in 30.00m, 514.64GB read Requests/sec: 927,473.54 Transfer/sec: 292.77MB ================================================================================ ./wrk3 -t1k -c1k -R10m "http://127.0.0.1:8080/100.html" -------------------------------------------------------------------------------- ./wrk3 -d10s -t1k -c1k -R10m "http://127.0.0.1:8080/100.html" Created 1,000 event-loop(s) in 0.051 seconds Created 1,000 thread(s) in 0.264 seconds Running 10s test @ http://127.0.0.1:8080/100.html 1,000 threads and 1,000 connections Thread Stats Avg Stdev Max +/- Stdev Latency 4.05s 2.37s 8.73s 0.04% Req/Sec -nan -nan 0.00 0.00% 20,098,180 requests in 10.00s, 6.20GB read Requests/sec: 2,009,791.76 Transfer/sec: 634.42MB -------------------------------------------------------------------------------- ./wrk3 -d30s -t1k -c1k -R10m "http://127.0.0.1:8080/100.html" Created 1,000 event-loop(s) in 0.056 seconds Created 1,000 thread(s) in 0.081 seconds Running 30s test @ http://127.0.0.1:8080/100.html 1,000 threads and 1,000 connections Thread Stats Avg Stdev Max +/- Stdev Latency 11.94s 6.96s 25.97s 0.05% Req/Sec -nan -nan 0.00 0.00% 58,830,395 requests in 30.00s, 18.14GB read Requests/sec: 1,961,003.67 Transfer/sec: 619.02MB -------------------------------------------------------------------------------- ./wrk3 -d3m -t1k -c1k -R10m "http://127.0.0.1:8080/100.html" Created 1,000 event-loop(s) in 0.055 seconds Created 1,000 thread(s) in 0.149 seconds Running 3m test @ http://127.0.0.1:8080/100.html 1,000 threads and 1,000 connections Thread Stats Avg Stdev Max +/- Stdev Latency 1.20m 42.30s 2.60m 0.03% Req/Sec -nan -nan 0.00 0.00% 334,262,106 requests in 3.00m, 103.04GB read Requests/sec: 1,857,010.26 Transfer/sec: 586.20MB -------------------------------------------------------------------------------- ./wrk3 -d30m -t1k -c1k -R10m "http://127.0.0.1:8080/100.html" Created 1,000 event-loop(s) in 0.051 seconds Created 1,000 thread(s) in 0.217 seconds Running 30m test @ http://127.0.0.1:8080/100.html 1,000 threads and 1,000 connections Thread Stats Avg Stdev Max +/- Stdev Latency 12.18m 7.08m 26.32m 0.05% Req/Sec -nan -nan 0.00 0.00% 3,244,783,419 requests in 30.00m, 0.98TB read Requests/sec: 1,802,657.30 Transfer/sec: 569.04MB ================================================================================ ./wrk3 -t10k -c10k -R10m "http://127.0.0.1:8080/100.html" -------------------------------------------------------------------------------- ./wrk3 -d10s -t10k -c10k -R10m "http://127.0.0.1:8080/100.html" Created 10,000 event-loop(s) in 2.225 seconds Created 10,000 thread(s) in 22.083 seconds Running 10s test @ http://127.0.0.1:8080/100.html 10,000 threads and 10,000 connections Thread Stats Avg Stdev Max +/- Stdev Latency 3.37s 2.19s 8.39s 0.04% Req/Sec -nan -nan 0.00 0.00% 34,070,691 requests in 10.00s, 10.50GB read Requests/sec: 3,406,588.36 Transfer/sec: 1.05GB -------------------------------------------------------------------------------- ./wrk3 -d30s -t10k -c10k -R10m "http://127.0.0.1:8080/100.html" Created 10,000 event-loop(s) in 2.210 seconds Created 10,000 thread(s) in 26.546 seconds Running 30s test @ http://127.0.0.1:8080/100.html 10,000 threads and 10,000 connections Thread Stats Avg Stdev Max +/- Stdev Latency 13.26s 7.77s 27.84s 0.07% Req/Sec -nan -nan 0.00 0.00% 54,254,005 requests in 30.00s, 16.72GB read Requests/sec: 1,808,315.50 Transfer/sec: 570.82MB -------------------------------------------------------------------------------- ./wrk3 -d3m -t10k -c10k -R10m "http://127.0.0.1:8080/100.html" Created 10,000 event-loop(s) in 2.211 seconds Created 10,000 thread(s) in 27.229 seconds Running 3m test @ http://127.0.0.1:8080/100.html 10,000 threads and 10,000 connections Thread Stats Avg Stdev Max +/- Stdev Latency 1.49m 0.90m 2.83m 0.06% Req/Sec -nan -nan 0.00 0.00% 161,345,133 requests in 3.00m, 49.74GB read Requests/sec: 896,346.77 Transfer/sec: 282.95MB -------------------------------------------------------------------------------- ./wrk3 -d30m -t10k -c10k -R10m "http://127.0.0.1:8080/100.html" Created 10,000 event-loop(s) in 2.211 seconds Created 10,000 thread(s) in 30.261 seconds Running 30m test @ http://127.0.0.1:8080/100.html 10,000 threads and 10,000 connections Thread Stats Avg Stdev Max +/- Stdev Latency 14.10m 8.24m 28.42m 0.05% Req/Sec -nan -nan 0.00 0.00% 1,313,151,829 requests in 30.00m, 404.80GB read Requests/sec: 729,527.43 Transfer/sec: 230.29MB ================================================================================ ./wrk3 -t20k -c20k -R10m "http://127.0.0.1:8080/100.html" -------------------------------------------------------------------------------- ./wrk3 -d10s -t20k -c20k -R100m "http://127.0.0.1:8080/100.html" Created 20,000 event-loop(s) in 8.231 seconds Created 20,000 thread(s) in 45.420 seconds Running 10s test @ http://127.0.0.1:8080/100.html 20,000 threads and 20,000 connections Thread Stats Avg Stdev Max +/- Stdev Latency 4.90s 2.83s 9.76s 0.04% Req/Sec -nan -nan 0.00 0.00% 56,986,274 requests in 10.00s, 17.57GB read Requests/sec: 5,697,590.77 Transfer/sec: 1.76GB -------------------------------------------------------------------------------- ./wrk3 -d30s -t20k -c20k -R100m "http://127.0.0.1:8080/100.html" Created 20,000 event-loop(s) in 8.246 seconds Created 20,000 thread(s) in 85.465 seconds Running 30s test @ http://127.0.0.1:8080/100.html 20,000 threads and 20,000 connections Thread Stats Avg Stdev Max +/- Stdev Latency 15.68s 9.14s 29.52s 0.07% Req/Sec -nan -nan 0.00 0.00% 111,035,709 requests in 30.00s, 34.23GB read Requests/sec: 3,700,898.73 Transfer/sec: 1.14GB -------------------------------------------------------------------------------- ./wrk3 -d3m -t20k -c20k -R100m "http://127.0.0.1:8080/100.html" Created 20,000 event-loop(s) in 8.301 seconds Created 20,000 thread(s) in 57.606 seconds Running 3m test @ http://127.0.0.1:8080/100.html 20,000 threads and 20,000 connections Thread Stats Avg Stdev Max +/- Stdev Latency 1.73m 1.03m 2.98m 0.22% Req/Sec -nan -nan 0.00 0.00% 192,885,507 requests in 3.00m, 59.46GB read Requests/sec: 1,071,550.96 Transfer/sec: 338.25MB -------------------------------------------------------------------------------- ./wrk3 -d30m -t20k -c20k -R100m "http://127.0.0.1:8080/100.html" Created 20,000 event-loop(s) in 9.433 seconds Created 20,000 thread(s) in 66.669 seconds Running 30m test @ http://127.0.0.1:8080/100.html 20,000 threads and 20,000 connections Thread Stats Avg Stdev Max +/- Stdev Latency 15.19m 8.99m 29.85m 0.04% Req/Sec -nan -nan 0.00 0.00% 1,284,183,184 requests in 30.00m, 395.87GB read Requests/sec: 713,432.27 Transfer/sec: 225.21MB ================================================================================ ./wrk3 -t30k -c30k -R10m "http://127.0.0.1:8080/100.html" -------------------------------------------------------------------------------- ./wrk3 -d10s -t30k -c30k -R100m "http://127.0.0.1:8080/100.html" Created 30,000 event-loop(s) in 18.208 seconds Created 30,000 thread(s) in 80.159 seconds Running 10s test @ http://127.0.0.1:8080/100.html 30,000 threads and 30,000 connections Thread Stats Avg Stdev Max +/- Stdev Latency 4.61s 2.76s 9.59s 0.04% Req/Sec -nan -nan 0.00 0.00% 90,222,617 requests in 10.00s, 27.81GB read Requests/sec: 9,020,636.63 Transfer/sec: 2.78GB -------------------------------------------------------------------------------- ./wrk3 -d30s -t30k -c30k -R100m "http://127.0.0.1:8080/100.html" Created 30,000 event-loop(s) in 20.599 seconds Created 30,000 thread(s) in 121.753 seconds Running 30s test @ http://127.0.0.1:8080/100.html 30,000 threads and 30,000 connections Thread Stats Avg Stdev Max +/- Stdev Latency 15.23s 8.82s 29.39s 0.07% Req/Sec -nan -nan 0.00 0.00% 127,979,009 requests in 30.00s, 39.45GB read Requests/sec: 4,265,466.70 Transfer/sec: 1.31GB -------------------------------------------------------------------------------- ./wrk3 -d3m -t30k -c30k -R100m "http://127.0.0.1:8080/100.html" Created 30,000 event-loop(s) in 18.214 seconds Created 30,000 thread(s) in 104.532 seconds Running 3m test @ http://127.0.0.1:8080/100.html 30,000 threads and 30,000 connections Thread Stats Avg Stdev Max +/- Stdev Latency 1.57m 1.03m 2.98m 0.07% Req/Sec -nan -nan 0.00 0.00% 206,577,076 requests in 3.00m, 63.68GB read Requests/sec: 1,147,582.22 Transfer/sec: 362.25MB -------------------------------------------------------------------------------- ./wrk3 -d30m -t30k -c30k -R100m "http://127.0.0.1:8080/100.html" Created 30,000 event-loop(s) in 18.282 seconds Created 30,000 thread(s) in 193.645 seconds Running 30m test @ http://127.0.0.1:8080/100.html 30,000 threads and 30,000 connections Thread Stats Avg Stdev Max +/- Stdev Latency 15.03m 9.43m 29.87m 0.04% Req/Sec -nan -nan 0.00 0.00% 1,301,566,025 requests in 30.00m, 401.23GB read Requests/sec: 723,087.63 Transfer/sec: 228.25MB ================================================================================ ./wrk3 -t40k -c40k -R10m "http://127.0.0.1:8080/100.html" -------------------------------------------------------------------------------- ./wrk3 -d10s -t40k -c40k -R100m "http://127.0.0.1:8080/100.html" Created 40,000 event-loop(s) in 31.654 seconds Created 40,000 thread(s) in 124.994 seconds Running 10s test @ http://127.0.0.1:8080/100.html 40,000 threads and 40,000 connections Thread Stats Avg Stdev Max +/- Stdev Latency 3.91s 2.41s 9.54s 0.02% Req/Sec -nan -nan 0.00 0.00% 150,085,850 requests in 10.00s, 46.27GB read Requests/sec: 15,006,309.21 Transfer/sec: 4.63GB -------------------------------------------------------------------------------- ./wrk3 -d30s -t40k -c40k -R100m "http://127.0.0.1:8080/100.html" Created 40,000 event-loop(s) in 31.881 seconds Created 40,000 thread(s) in 172.957 seconds Running 30s test @ http://127.0.0.1:8080/100.html 40,000 threads and 40,000 connections Thread Stats Avg Stdev Max +/- Stdev Latency 14.58s 8.57s 29.43s 0.05% Req/Sec -nan -nan 0.00 0.00% 175,772,490 requests in 30.00s, 54.18GB read Requests/sec: 5,858,371.95 Transfer/sec: 1.81GB -------------------------------------------------------------------------------- ./wrk3 -d3m -t40k -c40k -R100m "http://127.0.0.1:8080/100.html" Created 40,000 event-loop(s) in 31.861 seconds Created 40,000 thread(s) in 349.722 seconds Running 3m test @ http://127.0.0.1:8080/100.html 40,000 threads and 40,000 connections Thread Stats Avg Stdev Max +/- Stdev Latency 1.59m 0.94m 2.96m 0.07% Req/Sec -nan -nan 0.00 0.00% 391,651,376 requests in 3.00m, 120.73GB read Requests/sec: 2,175,739.73 Transfer/sec: 686.81MB -------------------------------------------------------------------------------- ./wrk3 -d30m -t40k -c40k -R100m "http://127.0.0.1:8080/100.html" Created 40,000 event-loop(s) in 31.537 seconds Created 40,000 thread(s) in 171.777 seconds Running 30m test @ http://127.0.0.1:8080/100.html 40,000 threads and 40,000 connections Thread Stats Avg Stdev Max +/- Stdev Latency 15.87m 9.46m 29.87m 0.04% Req/Sec -nan -nan 0.00 0.00% 1,301,620,675 requests in 30.00m, 401.25GB read Requests/sec: 723,116.69 Transfer/sec: 228.26MB ================================================================================